/**
 * <copyright>
 * </copyright>
 *

 */
package net.maylander.bfcpublog.bfwb.brainfuckLanguage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckLanguageFactory
 * @model kind="package"
 * @generated
 */
public interface BrainfuckLanguagePackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "brainfuckLanguage";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://bfcpublog.maylander.net/bfwb/BrainfuckLanguage";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "brainfuckLanguage";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  BrainfuckLanguagePackage eINSTANCE = net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl.init();

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckProgramImpl <em>Brainfuck Program</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckProgramImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBrainfuckProgram()
   * @generated
   */
  int BRAINFUCK_PROGRAM = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BRAINFUCK_PROGRAM__NAME = 0;

  /**
   * The feature id for the '<em><b>Symbols</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BRAINFUCK_PROGRAM__SYMBOLS = 1;

  /**
   * The feature id for the '<em><b>Macros</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BRAINFUCK_PROGRAM__MACROS = 2;

  /**
   * The feature id for the '<em><b>Stmts</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BRAINFUCK_PROGRAM__STMTS = 3;

  /**
   * The number of structural features of the '<em>Brainfuck Program</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BRAINFUCK_PROGRAM_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractParamDefImpl <em>Abstract Param Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractParamDefImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractParamDef()
   * @generated
   */
  int ABSTRACT_PARAM_DEF = 12;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_PARAM_DEF__NAME = 0;

  /**
   * The number of structural features of the '<em>Abstract Param Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_PARAM_DEF_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SymbolDefImpl <em>Symbol Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SymbolDefImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSymbolDef()
   * @generated
   */
  int SYMBOL_DEF = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SYMBOL_DEF__NAME = ABSTRACT_PARAM_DEF__NAME;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SYMBOL_DEF__VALUE = ABSTRACT_PARAM_DEF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Symbol Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SYMBOL_DEF_FEATURE_COUNT = ABSTRACT_PARAM_DEF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractMacroDefImpl <em>Abstract Macro Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractMacroDefImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractMacroDef()
   * @generated
   */
  int ABSTRACT_MACRO_DEF = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_MACRO_DEF__NAME = 0;

  /**
   * The number of structural features of the '<em>Abstract Macro Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_MACRO_DEF_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.RegionImpl <em>Region</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.RegionImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getRegion()
   * @generated
   */
  int REGION = 3;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REGION__NAME = ABSTRACT_MACRO_DEF__NAME;

  /**
   * The feature id for the '<em><b>Elements</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REGION__ELEMENTS = ABSTRACT_MACRO_DEF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Region</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REGION_FEATURE_COUNT = ABSTRACT_MACRO_DEF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroDefImpl <em>Macro Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroDefImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getMacroDef()
   * @generated
   */
  int MACRO_DEF = 4;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_DEF__NAME = ABSTRACT_MACRO_DEF__NAME;

  /**
   * The feature id for the '<em><b>Params</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_DEF__PARAMS = ABSTRACT_MACRO_DEF_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Stmts</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_DEF__STMTS = ABSTRACT_MACRO_DEF_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Macro Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_DEF_FEATURE_COUNT = ABSTRACT_MACRO_DEF_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.ParamDefImpl <em>Param Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.ParamDefImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getParamDef()
   * @generated
   */
  int PARAM_DEF = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PARAM_DEF__NAME = ABSTRACT_PARAM_DEF__NAME;

  /**
   * The number of structural features of the '<em>Param Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PARAM_DEF_FEATURE_COUNT = ABSTRACT_PARAM_DEF_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractStmtImpl <em>Abstract Stmt</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractStmtImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractStmt()
   * @generated
   */
  int ABSTRACT_STMT = 6;

  /**
   * The feature id for the '<em><b>Repeat</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_STMT__REPEAT = 0;

  /**
   * The number of structural features of the '<em>Abstract Stmt</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ABSTRACT_STMT_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SimpleStmtImpl <em>Simple Stmt</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SimpleStmtImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSimpleStmt()
   * @generated
   */
  int SIMPLE_STMT = 7;

  /**
   * The feature id for the '<em><b>Repeat</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_STMT__REPEAT = ABSTRACT_STMT__REPEAT;

  /**
   * The feature id for the '<em><b>Kind</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_STMT__KIND = ABSTRACT_STMT_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Simple Stmt</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_STMT_FEATURE_COUNT = ABSTRACT_STMT_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.LoopStmtImpl <em>Loop Stmt</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.LoopStmtImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getLoopStmt()
   * @generated
   */
  int LOOP_STMT = 8;

  /**
   * The feature id for the '<em><b>Repeat</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LOOP_STMT__REPEAT = ABSTRACT_STMT__REPEAT;

  /**
   * The feature id for the '<em><b>Stmts</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LOOP_STMT__STMTS = ABSTRACT_STMT_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Loop Stmt</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LOOP_STMT_FEATURE_COUNT = ABSTRACT_STMT_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroCallImpl <em>Macro Call</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroCallImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getMacroCall()
   * @generated
   */
  int MACRO_CALL = 9;

  /**
   * The feature id for the '<em><b>Repeat</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_CALL__REPEAT = ABSTRACT_STMT__REPEAT;

  /**
   * The feature id for the '<em><b>Macro</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_CALL__MACRO = ABSTRACT_STMT_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Actuals</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_CALL__ACTUALS = ABSTRACT_STMT_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Macro Call</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MACRO_CALL_FEATURE_COUNT = ABSTRACT_STMT_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BfValueImpl <em>Bf Value</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BfValueImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBfValue()
   * @generated
   */
  int BF_VALUE = 10;

  /**
   * The feature id for the '<em><b>Val</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BF_VALUE__VAL = 0;

  /**
   * The feature id for the '<em><b>Ref</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BF_VALUE__REF = 1;

  /**
   * The number of structural features of the '<em>Bf Value</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BF_VALUE_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SignedIntImpl <em>Signed Int</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SignedIntImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSignedInt()
   * @generated
   */
  int SIGNED_INT = 11;

  /**
   * The feature id for the '<em><b>Sign</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIGNED_INT__SIGN = 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIGNED_INT__VALUE = 1;

  /**
   * The number of structural features of the '<em>Signed Int</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIGNED_INT_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BlockStmtImpl <em>Block Stmt</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BlockStmtImpl
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBlockStmt()
   * @generated
   */
  int BLOCK_STMT = 13;

  /**
   * The feature id for the '<em><b>Repeat</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLOCK_STMT__REPEAT = ABSTRACT_STMT__REPEAT;

  /**
   * The feature id for the '<em><b>Stmts</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLOCK_STMT__STMTS = ABSTRACT_STMT_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Block Stmt</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLOCK_STMT_FEATURE_COUNT = ABSTRACT_STMT_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind <em>Simple Stmt Kind</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSimpleStmtKind()
   * @generated
   */
  int SIMPLE_STMT_KIND = 14;


  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram <em>Brainfuck Program</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Brainfuck Program</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram
   * @generated
   */
  EClass getBrainfuckProgram();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getName()
   * @see #getBrainfuckProgram()
   * @generated
   */
  EAttribute getBrainfuckProgram_Name();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getSymbols <em>Symbols</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Symbols</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getSymbols()
   * @see #getBrainfuckProgram()
   * @generated
   */
  EReference getBrainfuckProgram_Symbols();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getMacros <em>Macros</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Macros</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getMacros()
   * @see #getBrainfuckProgram()
   * @generated
   */
  EReference getBrainfuckProgram_Macros();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getStmts <em>Stmts</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Stmts</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BrainfuckProgram#getStmts()
   * @see #getBrainfuckProgram()
   * @generated
   */
  EReference getBrainfuckProgram_Stmts();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SymbolDef <em>Symbol Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Symbol Def</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SymbolDef
   * @generated
   */
  EClass getSymbolDef();

  /**
   * Returns the meta object for the containment reference '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SymbolDef#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SymbolDef#getValue()
   * @see #getSymbolDef()
   * @generated
   */
  EReference getSymbolDef_Value();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractMacroDef <em>Abstract Macro Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Abstract Macro Def</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractMacroDef
   * @generated
   */
  EClass getAbstractMacroDef();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractMacroDef#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractMacroDef#getName()
   * @see #getAbstractMacroDef()
   * @generated
   */
  EAttribute getAbstractMacroDef_Name();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.Region <em>Region</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Region</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.Region
   * @generated
   */
  EClass getRegion();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.Region#getElements <em>Elements</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Elements</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.Region#getElements()
   * @see #getRegion()
   * @generated
   */
  EReference getRegion_Elements();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef <em>Macro Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Macro Def</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef
   * @generated
   */
  EClass getMacroDef();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef#getParams <em>Params</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Params</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef#getParams()
   * @see #getMacroDef()
   * @generated
   */
  EReference getMacroDef_Params();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef#getStmts <em>Stmts</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Stmts</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroDef#getStmts()
   * @see #getMacroDef()
   * @generated
   */
  EReference getMacroDef_Stmts();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.ParamDef <em>Param Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Param Def</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.ParamDef
   * @generated
   */
  EClass getParamDef();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractStmt <em>Abstract Stmt</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Abstract Stmt</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractStmt
   * @generated
   */
  EClass getAbstractStmt();

  /**
   * Returns the meta object for the containment reference '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractStmt#getRepeat <em>Repeat</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Repeat</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractStmt#getRepeat()
   * @see #getAbstractStmt()
   * @generated
   */
  EReference getAbstractStmt_Repeat();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmt <em>Simple Stmt</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Simple Stmt</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmt
   * @generated
   */
  EClass getSimpleStmt();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmt#getKind <em>Kind</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Kind</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmt#getKind()
   * @see #getSimpleStmt()
   * @generated
   */
  EAttribute getSimpleStmt_Kind();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.LoopStmt <em>Loop Stmt</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Loop Stmt</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.LoopStmt
   * @generated
   */
  EClass getLoopStmt();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.LoopStmt#getStmts <em>Stmts</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Stmts</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.LoopStmt#getStmts()
   * @see #getLoopStmt()
   * @generated
   */
  EReference getLoopStmt_Stmts();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall <em>Macro Call</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Macro Call</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall
   * @generated
   */
  EClass getMacroCall();

  /**
   * Returns the meta object for the reference '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall#getMacro <em>Macro</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Macro</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall#getMacro()
   * @see #getMacroCall()
   * @generated
   */
  EReference getMacroCall_Macro();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall#getActuals <em>Actuals</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Actuals</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.MacroCall#getActuals()
   * @see #getMacroCall()
   * @generated
   */
  EReference getMacroCall_Actuals();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue <em>Bf Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Bf Value</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue
   * @generated
   */
  EClass getBfValue();

  /**
   * Returns the meta object for the containment reference '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue#getVal <em>Val</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Val</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue#getVal()
   * @see #getBfValue()
   * @generated
   */
  EReference getBfValue_Val();

  /**
   * Returns the meta object for the reference '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue#getRef <em>Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Ref</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BfValue#getRef()
   * @see #getBfValue()
   * @generated
   */
  EReference getBfValue_Ref();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt <em>Signed Int</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Signed Int</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt
   * @generated
   */
  EClass getSignedInt();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt#getSign <em>Sign</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Sign</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt#getSign()
   * @see #getSignedInt()
   * @generated
   */
  EAttribute getSignedInt_Sign();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SignedInt#getValue()
   * @see #getSignedInt()
   * @generated
   */
  EAttribute getSignedInt_Value();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractParamDef <em>Abstract Param Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Abstract Param Def</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractParamDef
   * @generated
   */
  EClass getAbstractParamDef();

  /**
   * Returns the meta object for the attribute '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractParamDef#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.AbstractParamDef#getName()
   * @see #getAbstractParamDef()
   * @generated
   */
  EAttribute getAbstractParamDef_Name();

  /**
   * Returns the meta object for class '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BlockStmt <em>Block Stmt</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Block Stmt</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BlockStmt
   * @generated
   */
  EClass getBlockStmt();

  /**
   * Returns the meta object for the containment reference list '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.BlockStmt#getStmts <em>Stmts</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Stmts</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.BlockStmt#getStmts()
   * @see #getBlockStmt()
   * @generated
   */
  EReference getBlockStmt_Stmts();

  /**
   * Returns the meta object for enum '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind <em>Simple Stmt Kind</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>Simple Stmt Kind</em>'.
   * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind
   * @generated
   */
  EEnum getSimpleStmtKind();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  BrainfuckLanguageFactory getBrainfuckLanguageFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckProgramImpl <em>Brainfuck Program</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckProgramImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBrainfuckProgram()
     * @generated
     */
    EClass BRAINFUCK_PROGRAM = eINSTANCE.getBrainfuckProgram();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute BRAINFUCK_PROGRAM__NAME = eINSTANCE.getBrainfuckProgram_Name();

    /**
     * The meta object literal for the '<em><b>Symbols</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BRAINFUCK_PROGRAM__SYMBOLS = eINSTANCE.getBrainfuckProgram_Symbols();

    /**
     * The meta object literal for the '<em><b>Macros</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BRAINFUCK_PROGRAM__MACROS = eINSTANCE.getBrainfuckProgram_Macros();

    /**
     * The meta object literal for the '<em><b>Stmts</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BRAINFUCK_PROGRAM__STMTS = eINSTANCE.getBrainfuckProgram_Stmts();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SymbolDefImpl <em>Symbol Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SymbolDefImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSymbolDef()
     * @generated
     */
    EClass SYMBOL_DEF = eINSTANCE.getSymbolDef();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SYMBOL_DEF__VALUE = eINSTANCE.getSymbolDef_Value();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractMacroDefImpl <em>Abstract Macro Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractMacroDefImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractMacroDef()
     * @generated
     */
    EClass ABSTRACT_MACRO_DEF = eINSTANCE.getAbstractMacroDef();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ABSTRACT_MACRO_DEF__NAME = eINSTANCE.getAbstractMacroDef_Name();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.RegionImpl <em>Region</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.RegionImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getRegion()
     * @generated
     */
    EClass REGION = eINSTANCE.getRegion();

    /**
     * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference REGION__ELEMENTS = eINSTANCE.getRegion_Elements();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroDefImpl <em>Macro Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroDefImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getMacroDef()
     * @generated
     */
    EClass MACRO_DEF = eINSTANCE.getMacroDef();

    /**
     * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MACRO_DEF__PARAMS = eINSTANCE.getMacroDef_Params();

    /**
     * The meta object literal for the '<em><b>Stmts</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MACRO_DEF__STMTS = eINSTANCE.getMacroDef_Stmts();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.ParamDefImpl <em>Param Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.ParamDefImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getParamDef()
     * @generated
     */
    EClass PARAM_DEF = eINSTANCE.getParamDef();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractStmtImpl <em>Abstract Stmt</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractStmtImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractStmt()
     * @generated
     */
    EClass ABSTRACT_STMT = eINSTANCE.getAbstractStmt();

    /**
     * The meta object literal for the '<em><b>Repeat</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ABSTRACT_STMT__REPEAT = eINSTANCE.getAbstractStmt_Repeat();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SimpleStmtImpl <em>Simple Stmt</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SimpleStmtImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSimpleStmt()
     * @generated
     */
    EClass SIMPLE_STMT = eINSTANCE.getSimpleStmt();

    /**
     * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SIMPLE_STMT__KIND = eINSTANCE.getSimpleStmt_Kind();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.LoopStmtImpl <em>Loop Stmt</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.LoopStmtImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getLoopStmt()
     * @generated
     */
    EClass LOOP_STMT = eINSTANCE.getLoopStmt();

    /**
     * The meta object literal for the '<em><b>Stmts</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LOOP_STMT__STMTS = eINSTANCE.getLoopStmt_Stmts();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroCallImpl <em>Macro Call</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.MacroCallImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getMacroCall()
     * @generated
     */
    EClass MACRO_CALL = eINSTANCE.getMacroCall();

    /**
     * The meta object literal for the '<em><b>Macro</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MACRO_CALL__MACRO = eINSTANCE.getMacroCall_Macro();

    /**
     * The meta object literal for the '<em><b>Actuals</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MACRO_CALL__ACTUALS = eINSTANCE.getMacroCall_Actuals();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BfValueImpl <em>Bf Value</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BfValueImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBfValue()
     * @generated
     */
    EClass BF_VALUE = eINSTANCE.getBfValue();

    /**
     * The meta object literal for the '<em><b>Val</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BF_VALUE__VAL = eINSTANCE.getBfValue_Val();

    /**
     * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BF_VALUE__REF = eINSTANCE.getBfValue_Ref();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SignedIntImpl <em>Signed Int</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.SignedIntImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSignedInt()
     * @generated
     */
    EClass SIGNED_INT = eINSTANCE.getSignedInt();

    /**
     * The meta object literal for the '<em><b>Sign</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SIGNED_INT__SIGN = eINSTANCE.getSignedInt_Sign();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SIGNED_INT__VALUE = eINSTANCE.getSignedInt_Value();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractParamDefImpl <em>Abstract Param Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.AbstractParamDefImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getAbstractParamDef()
     * @generated
     */
    EClass ABSTRACT_PARAM_DEF = eINSTANCE.getAbstractParamDef();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ABSTRACT_PARAM_DEF__NAME = eINSTANCE.getAbstractParamDef_Name();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BlockStmtImpl <em>Block Stmt</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BlockStmtImpl
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getBlockStmt()
     * @generated
     */
    EClass BLOCK_STMT = eINSTANCE.getBlockStmt();

    /**
     * The meta object literal for the '<em><b>Stmts</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BLOCK_STMT__STMTS = eINSTANCE.getBlockStmt_Stmts();

    /**
     * The meta object literal for the '{@link net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind <em>Simple Stmt Kind</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.SimpleStmtKind
     * @see net.maylander.bfcpublog.bfwb.brainfuckLanguage.impl.BrainfuckLanguagePackageImpl#getSimpleStmtKind()
     * @generated
     */
    EEnum SIMPLE_STMT_KIND = eINSTANCE.getSimpleStmtKind();

  }

} //BrainfuckLanguagePackage
